Calibration of a surround view camera system

ABSTRACT

A method for automatic generation of calibration parameters for a surround view (SV) camera system is provided that includes capturing a video stream from each camera comprised in the SV camera system, wherein each video stream captures two calibration charts in a field of view of the camera generating the video stream; displaying the video streams in a calibration screen on a display device coupled to the SV camera system, wherein a bounding box is overlaid on each calibration chart, detecting feature points of the calibration charts, displaying the video streams in the calibration screen with the bounding box overlaid on each calibration chart and detected features points overlaid on respective calibration charts, computing calibration parameters based on the feature points and platform dependent parameters comprising data regarding size and placement of the calibration charts, and storing the calibration parameters in the SV camera system.

RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 15/393,168, filed Dec. 28, 2016, which isincorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION Field of the Invention

Embodiments of the present invention generally relate to surround viewcamera systems and more specifically relate to calibration of such asystem.

Description of the Related Art

The automotive surround view (SV) camera system is an emergingtechnology in the advanced driver assistance systems (ADAS) and marketspace. While originally used to assist the driver of a vehicle inparking the vehicle safely by presenting the driver with a top-down viewof the 360 degree surroundings of the vehicle, automotive SV camerasystems are increasingly being deployed as part of autonomous drivingand autonomous parking. An automotive SV camera system typicallyincludes four to six wide-angle (fish-eye lens) cameras mounted aroundthe vehicle, each facing a different direction. From these camerainputs, a composite view of the surroundings of the vehicle issynthesized.

Prior to deployment or when maintenance is needed, an automotive SVcamera system must be calibrated to provide for proper integration ofthe images captured by the multiple cameras. Without proper calibration,the integrated images produced by the system may be inaccurate.

SUMMARY

Embodiments of the present invention relate to methods and systems forcalibrating a surround view camera system. In one aspect, a method forautomatic generation of calibration parameters for a surround view (SV)camera system is provided that includes capturing a video stream fromeach camera of a plurality of cameras comprised in the SV camera system,wherein each video stream captures two calibration charts in a field ofview (FOV) of the camera generating the video stream, displaying thevideo streams in a calibration screen on a display device coupled to theSV camera system, wherein a bounding box is overlaid on each calibrationchart, detecting feature points of the calibration charts in an imagefrom each video stream, displaying the video streams in the calibrationscreen with the bounding box overlaid on each calibration chart anddetected features points overlaid on respective calibration charts,computing calibration parameters for the SV camera system based on thefeature points and platform dependent parameters comprising dataregarding size and placement of the calibration charts, and storing thecalibration parameters in the SV camera system.

In one aspect, a method for automatic generation of calibrationparameters for a surround view (SV) camera system is provided thatincludes starting, by a technician, a calibration process comprised inthe SV camera system, reviewing, by the technician, a calibration screenon a display device coupled to the SV camera system, the calibrationscreen comprising video streams captured from each camera of a pluralityof cameras comprised in the SV camera system, wherein each video streamcaptures two calibration charts in a field of view (FOV) of the cameragenerating the video stream, and wherein a bounding box is overlaid oneach calibration chart, initiating, by the technician, computation ofcalibration parameters by the calibration process, wherein thecomputation is based on feature points detected in the calibrationcharts comprised in images from each video stream and platform dependentparameters comprising data regarding size and placement of thecalibration charts, and reviewing, by the technician, the calibrationscreen with the bounding box overlaid on each calibration chart and thedetected feature points overlaid on respective calibration charts,wherein locations of the features points on the calibration charts areindicative of accuracy of the calibration parameters.

In one aspect, a surround view (SV) camera system is provided thatincludes a plurality of cameras, a display device, a memory storingsoftware instructions for generating calibration parameters for the SVcamera system, and a processor coupled to the memory to execute thesoftware instructions. The software instructions comprise softwareinstructions to capture a video stream from each camera of the pluralityof cameras, wherein each video stream captures two calibration charts ina field of view (FOV) of the camera generating the video stream, displaythe video streams in a calibration screen on the display device, whereina bounding box is overlaid on each calibration chart, detect featurepoints of the calibration charts in an image from each video stream,display the video streams in the calibration screen with the boundingbox overlaid on each calibration chart and detected features pointsoverlaid on respective calibration charts, compute calibrationparameters for the SV camera system based on the feature points andplatform dependent parameters comprising data regarding size andplacement of the calibration charts, and store the calibrationparameters in the SV camera system.

BRIEF DESCRIPTION OF THE DRAWINGS

Particular embodiments in accordance with the invention will now bedescribed, by way of example, and with reference to the accompanyingdrawings:

FIG. 1 is a top-down view of an example vehicle that includes anautomotive surround view (SV) camera system;

FIG. 2 is a simplified block diagram of the automotive SV camera systemof FIG. 1;

FIG. 3 depicts an example arrangement of four calibration charts aroundthe vehicle of FIG. 1;

FIG. 4 is a block diagram of an automatic calibration processimplemented in the automotive SV camera system of FIG. 2;

FIGS. 5 and 6 are example calibration screens;

FIGS. 7 and 8 are flow diagrams of methods for generating calibrationparameters for an automotive SV camera system; and

FIGS. 9A, 9B, 10A, and 10B are examples of calibration arrangements andcorresponding SV images of the calibration arrangements after theautomotive SV camera system is calibrated.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Specific embodiments of the invention will now be described in detailwith reference to the accompanying figures. Like elements in the variousfigures are denoted by like reference numerals for consistency.

An automotive surround view (SV) camera system may provide a twodimensional view or a three dimensional view of the surroundings of avehicle, depending on the capabilities of the system. The surround viewis achieved by capturing video streams from multiple cameras mounted onthe periphery of the vehicle and stitching the video streams together.Cameras with a wide field of view, e.g., equipped with a fish-eye lens,are used to achieve overlap in the video captured by adjacent cameras.The overlap is critical for a high quality stitched output.

An automotive SV camera solution may include two key algorithmiccomponents: geometric alignment, i.e., calibration, and composite viewsynthesis. Calibration may include lens distortion correction (LDC) tocorrect any fish-eye distortion in the input video frames andperspective transformation to convert the LDC corrected frames to acommon birds-eye perspective. The synthesis algorithm generates thecomposite surround view after the calibration.

For fish-eye distortion correction, a radial distortion model may beused in which the fish-eye effect is removed by applying the inversetransformation of the radial distortion model. For perspectivetransformation, a transformation matrix for each camera may be computedso that all input streams are properly registered with the ground plane.Calibration parameters for the geometric alignment may be generated byan automatic calibration process performed during production of thevehicle housing the automotive SV camera system and/or performed duringmaintenance of the vehicle.

The geometric alignment algorithm may be based on a geometriccalibration chart, also referred to as a chart or a finder pattern,designed to facilitate accurate and reliable location and matching offeatures. The geometric calibration chart is used during the automaticcalibration process to generate the calibration parameters for thegeometric alignment algorithm. More specifically, identical geometriccalibration charts are placed around the vehicle such that each chart isin the field of view (FOV) of two adjacent cameras. The placement of thecharts is a function of the size of the vehicle. The geometric alignmentalgorithm requires millimeter accurate measurements of the size of achart and the locations of each pair of adjacent charts relative to eachother.

Embodiments of the disclosure provide for generation of calibrationparameters for geometric alignment of an automotive surround view (SV)camera system. In some embodiments, visual aids are provided thatminimize the need for specialized skill to calibrate an automotive SVcamera system. Further, in some embodiments, calibration processing thatis dependent on the platform, i.e., the vehicle model, is separated fromcalibration processing that is independent of the platform. In addition,the platform dependent calibration processing is configured to acceptplatform dependent parameters as inputs rather than compiling theparameter values as constants in the software as in the prior art. Thus,the same automatic calibration software can be used for multipleplatforms. As is explained in more detail herein, having the platformdependent parameters as inputs rather than constants may also simplifythe process of determining the platform dependent calibrationparameters.

FIG. 1 is a top-down view of an example vehicle 100 that includes anautomotive SV camera system. The vehicle 100 includes four fish-eye lenscameras 102, 104, 106, 108 mounted at different points on the vehicle100 and an SV processing system (not specifically shown) coupled to thefour cameras. The SV processing system includes hardware and software toreceive video streams captured by the cameras and to process the videostreams to generate SV images. The vehicle 100 also includes a touchscreen display device 100 in the interior of the vehicle 100 that iscoupled to the SV processing system to display SV images produced by theSV processing system. The camera 102 is mounted on the front of thevehicle 100, e.g., on the grille, the cameras 104 and 106 are mounted onopposite sides of the vehicle 100, e.g., on the side-view mirrors, andthe camera 108 is mounted on the rear of the vehicle 100, e.g., on thetrunk door.

The cameras 102, 104, 106, 108 are positioned such that each has arespective field of view (FOV) angle 110, 112, 114, 116. As is explainedin more detail herein, an automatic calibration process is performed togenerate calibration parameters for the SV processing system. For theautomatic calibration process, four geometric calibration charts areplaced in predetermined locations around the vehicle 100 betweenadjacent cameras. The FOV angle of each camera is sufficient to allowthe geometric calibration chart between each pair of adjacent cameras tobe visible in the FOVs of each of the cameras.

FIG. 2 is a simplified block diagram of an embodiment 200 of theautomotive SV camera system included in the vehicle 100 of FIG. 1. Theautomotive SV camera system 200 includes the cameras 102-108, thedisplay device 116, and the aforementioned SV processing system 202coupled to the cameras and the display device. The SV processing system202 includes a system-on-a-chip (SOC) 204 coupled to the cameras 102-108and the display device 116 and to a memory 206. The memory 206 may beany suitable combination of memory technologies such as, for example,random access memory, read-only memory, and/or flash memory. The memory206 stores executable software instructions of the SV processing system202 that may be executed on one or more processors of the SOC 204. Theexecutable software instructions include instructions implementing anembodiment of the automatic calibration process described herein.

The SOC 210 may be any SOC suitable for real-time SV image generation.Some examples of suitable SOCs are the family of TDA2x and TDA3x SOCsavailable from Texas Instruments Incorporated. An example of a SVsolution using a TDA3x SOC may be found in Zoran Nikolic, et al., “TDA3XSoC Processor Delivers Cost-Effective ADAS Solutions for Front, Rear,and Surround View Applications”, SPRY272, Texas Instruments, October,2014, which is incorporated by reference herein. The SOC 210 includes aport for interfacing with removable storage media 210, e.g., a microsecure digital card or a flash memory device. As is explained in moredetail herein, the values of the platform dependent parameters may bedetermined by an offline process. During this offline process, candidateplatform dependent parameters may be provided to the automaticcalibration process using removable storage media to test thecalibration accuracy using the candidate platform dependent parameters.

FIG. 3 depicts an example arrangement of four calibration charts 302,304, 306, 308 around the vehicle 100 of FIG. 1 to be used by theautomatic calibration process. The four calibration charts arepositioned such images of each chart can be simultaneously captured bytwo adjacent cameras. Thus, images of the calibration chart 302 may besimultaneously captured by the camera 102 and the camera 104 and imagesof the calibration chart 304 may be simultaneously captured by thecamera 102 and the camera 106. Further, images of the calibration chart308 may be simultaneously captured by the camera 106 and the camera 108and images of the calibration chart 306 may be simultaneously capturedby the camera 108 and the camera 104. As is explained in more detail,during the automatic calibration process, the images of the chartscaptured by each pair of adjacent cameras are displayed on the displaydevice 116.

FIG. 4 is a block diagram of an automatic calibration process that maybe implemented by the SV processing system 202 of FIG. 2. The componentsof the automatic calibration process include the bounding box overlaycomponent 400, the feature point detection component 402, the detectedfeature points overlay component 404, and the calibration parametergeneration component 406. The memory 206 stores the predeterminedplatform dependent parameters used during the automatic calibrationwhich include the sizes of the charts 302, 304, 306, 308, the locationsof the charts relative to each other, and the sizes and positions ofbounding boxes. In various embodiments, some combination of otherplatform dependent parameters may also be stored in the memory 206,e.g., the number of cameras, lens specific parameters, viewpoint lookuptables, mesh bowl parameters, etc. Viewpoint lookup tables and mesh bowlparameters are described in U.S. patent application Ser. No. 15/298,214,filed Oct. 19, 2016, which is incorporated by reference herein.

A bounding box defines a perimeter around an image of a chart, i.e.,bounds an area of an image that includes the chart. Any suitabletechnique may be used to determine the bound box sizes and positions. Insome embodiments, the same bounding box size and position is used forall cameras. In some embodiments, the bounding box size and position maybe different for some or all of the cameras. In some embodiments, thesize and position of a bounding box may be determined, at least in part,by accuracy of the feature point detection using the bounding box.

During the automatic calibration process, a calibration screen isdisplayed on display device 116 that includes the video streams from thefour cameras 102-108. FIG. 5 shows an example of a calibration screen.The display area 500 shows the two calibration charts captured by acamera mounted on the front of a vehicle and the display area 502 showsthe two calibration charts captured by a camera mounted on the rightside of a vehicle. The display area 504 and the display area 502 showsthe two calibration charts captured by a camera mounted on the rightside of a vehicle and the display area 506 shows the two calibrationcharts captured by a camera mounted on the rear of a vehicle. In thisexample, chart sizes and positions are slightly different for differentcameras.

Referring again to FIG. 4, the bounding box overlay component 400 isconfigured to read the predetermined positions of bounding boxes fromthe memory 206 and overlay the bounding boxes on the displayed videostreams. Overlaid bounding boxes 508-522 are depicted in each displayarea 500-506 of the example of FIG. 5. Note that there are two boundingboxes for each video stream, one for each of the two calibration charts.In this example, the same size and position is used for the left andright bounding boxes of all four cameras.

To improve the accuracy of the automatic calibration process, the twocalibration charts captured by a camera may be aligned on the horizontaland vertical axes and may be approximately in the horizontal center ofthe corresponding bounding box. Put another way, each chart should beapproximately in the center of the corresponding bounding box and theedges of the chart should be approximately parallel to the edges of thebounding box. A technician causing the automatic calibration process tobe performed may use this calibration screen to, for example, verifyappropriate positioning of the calibration charts and check for lightingissues or foreign objects that may interfere with the successfulgeneration of the calibration parameters.

The feature point detection component 402 is configured to detectfeature points on the calibration charts in an image captured from eachof the cameras 102-108. The feature points to be detected arepredetermined for the particular calibration chart in use. For theparticular calibration chart shown in FIG. 3, the feature points of thecalibration chart are the four corners of the black square. The featurepoint detection component 402 may use any suitable algorithm for featurepoint detection. Embodiments of an example suitable algorithm aredescribed in U.S. patent application Ser. No. 15/294,369, filed Oct. 14,2016, which is incorporated by reference herein. In some embodiments,the bounding boxes are used by the feature point detection to bound thearea of the image to be searched for feature points. Using the boundingboxes in this way may improve the accuracy of detecting correct featurepoints. Further, in some embodiments, the feature points that may bedetected are the corner points of the calibration charts.

The detected feature points overlay component 404 is configured tooverlay the feature points detected by the feature point detectioncomponent 402 on the displayed video streams. Overlaid detected featurepoints for the calibration charts shown in each display area 500-506 ofthe example calibration screen of FIG. 5 are shown in FIG. 6. Thedetected feature points are indicated by the dots at each corner of thecalibration charts. A technician causing the automatic calibrationprocess to be performed may use this calibration screen to visuallyconfirm the accuracy of the feature point detection, which directlyaffects the accuracy of the generated calibration parameters.

The calibration parameter generation component 406 generates thecalibration parameters for the geometric alignment algorithm of the SVprocessing system and stores the parameters in the memory 206. Theparticular calibration parameters generated may depend upon the threedimensional rendering capabilities of the SV camera system 200. Forexample, the parameters generated when the SOC 204 uses a graphicsprocessing unit for rendering may be different than the parametersgenerated when the SOC 204 uses a two dimensional (2D) warp acceleratorfor rendering.

In some embodiments, the calibration parameter generation process may beperformed as follows. First, two calibration matrices are generated foreach camera based on the detected feature points: a rotation matrix anda translation matrix. These matrices are generated with respect to thepositions of the calibration charts captured by the camera. The detectedfeature points and the corresponding 3D locations of these featurepoints are used to generate these matrices. Any suitable technique maybe used to generate these matrices. Examples of some suitable techniquesmay be found in Chapter 4 and Chapter 7 of R. Hartley and A. Zisserman,“Multiple View Geometry in Computer Vision,” Cambridge University Press,New York, 2000, 2003.

Once the rotation and translation matrices are generated for eachcamera, the matrices may be used together with the camera intrinsicparameters of the respective cameras to generate platform dependentlookup tables for each camera. Camera intrinsic parameters are fixed percamera and include the lens focal length and the lens distortion model.Each lookup table combines the effect of applying the matrices and thelens distortion model for the respective camera. In some embodiments,the lookup tables may be viewpoint lookup tables used for rendering SVimages with a (2D) warp accelerator. U.S. patent application Ser. No.15/298,214, previously cited herein, describes example techniques forgenerating such viewpoint lookup tables.

In some embodiments, the lookup table may be a vertex mapping lookuptable used for rendering SV surfaces in a graphics processing unit(GPU). The GPU may divide the SV surface around a vehicle into a grid inwhich each point on the grid is referred to as a vertex. The vertexmapping lookup table maps each vertex in the 3D surround view surface tocorresponding 2D points on the cameras. For example, a 3D location inthe front and left of the vehicle will map to a 2D location in the frontcamera and a 2D location in the left camera. The GPU lookup table thusmaps every vertex on the surface to two locations on correspondingcameras.

FIG. 7 is a flow chart of a method for generating calibration parametersfor an automotive SV camera system such as the automotive SV camerasystem 200 of FIG. 2. The method assumes that predetermined platformdependent parameters are available in nonvolatile memory either in thesystem itself or on removable media. The method also assumes that thefour calibration charts are placed around the vehicle housing theautomotive SV camera system according to the distances specified in theplatform dependent parameters.

The calibration process is started 700 responsive to technician input.Any suitable interface may be provided for the technician to start thecalibration process. For example, the calibration process may be startedby a manufacturer defined sequence of button presses on buttons of thehead unit of the vehicle and/or touch screen entries. Video streamcapture from the cameras is initiated and the video streams aredisplayed 702 in a calibration screen on the vehicle display device withthe bounding boxes overlaid. The technician may view the calibrationscreen to verify positioning of the calibration charts, lightingconditions, etc. and make adjustments as needed.

Responsive to technician input, the automatic calibration parametergeneration of steps 704-710 is initiated. Any suitable interface may beprovided for the technician to start the parameter generation. Forexample, the calibration process may be started by a manufacturerdefined sequence of button presses on buttons of the head unit of thevehicle and/or touch screen entries.

Feature point detection is performed 704 to detect feature points of thecalibration charts in images from the video streams. Feature pointdetection is previously described herein. The video streams are thendisplayed 706 with the bounding boxes and the detected feature pointsoverlaid. The locations of the detected feature points may provide thetechnician with a visual indication of the accuracy of the feature pointdetection. The calibration parameters for the system are also generated708 using the detected feature points and the calibration parameters arestored 710 in nonvolatile memory in the system. Generation ofcalibration parameters is previously described herein.

FIG. 8 is a flow diagram of method for generating calibration parametersfor an automotive SV camera system such as the automotive SV camerasystem 200 of FIG. 2 that may be performed by a technician to calibratethe system, e.g., during production or after maintenance. The methodassumes that predetermined platform dependent parameters are availablein nonvolatile memory either in the system itself or on removable media.The method also assumes that the four calibration charts are placedaround the vehicle housing the automotive SV camera system according tothe distances specified in the platform dependent parameters.

The technician initially starts 802 the calibration process via aninterface defined by the vehicle manufacturer. The calibration processpresents a calibration screen with overlaid bounding boxes on a displaydevice in the vehicle and the technician reviews 804 the calibrationscreen content to verify the placement of the calibration charts, thelighting conditions, etc. A calibration screen is previously describedherein. The technician then starts 806 the automatic calibrationparameter generation via an interface defined by the vehiclemanufacturer and waits 808 for completion. As part of the automaticcalibration parameter generation, feature points of the calibrationcharts are detected and are overlaid on the calibration screen. Also, atthe end of the automatic calibration parameter generation process, thecalibration parameters are stored in nonvolatile memory in theautomotive SV camera system. Automatic generation of calibrationparameters is previously described herein.

The technician reviews 810 the calibration screen to verify the accuracyof the locations of the detected feature points. The accuracy measureused by the technician may be defined by the manufacturer. For example,the manufacturer may specify the number of pixels the location of adetected feature point may vary from the actual location. The technicianmay review zoomed-in views of the detected feature point locations tocheck the pixel level accuracy. If the feature points are sufficientlyaccurate 812, then the technician verifies 814 that the SV systemoperates correctly with the generated calibration parameters. Thetechnician may verify system operation by starting the SV system andviewing the SV images on the display device. FIGS. 9A and 9B areexamples of a calibration arrangement for, respectively, a scaled modelof a jeep and for an actual jeep. FIGS. 10A and 10B show the respectiveSV images output by the automotive SV camera system after calibrationparameters are successfully generated.

If the placement of the feature points is not sufficiently accurate 812,then the technician may make corrections 816 in the calibration area asneeded and restart 802 the calibration process. For example, thetechnician may need to adjust the lighting or move one or morecalibration charts or remove a previously unnoticed object from thecalibration area.

The methods of FIG. 7 and FIG. 8 may also be used to determine theplatform dependent parameters such as the bounding box and chart sizesand positions for a platform. A technician may use an offline process todetermine candidate values, store the candidate values on removablemedia, plug the removable media into the automotive SV camera system,and perform the method of FIG. 8 while the system performs the method ofFIG. 7 to test the candidate values. Once the calibration issufficiently accurate for a set of candidate values, the values may bestored in nonvolatile memory of the automotive SV camera system in eachmanufactured platform to be used for initial calibration as part of themanufacturing process and for recalibration after maintenance of thecamera system.

OTHER EMBODIMENTS

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments can be devised whichdo not depart from the scope of the invention as disclosed herein.

For example, embodiments have been described herein in which thecalibration chart is a composed of a white square positioned in thecenter of a larger black square. One of ordinary skill in the art willunderstand embodiments in which other suitable calibration charts areused. Some examples of other suitable calibration charts may be found inU.S. patent application Ser. No. 15/294,369 previously cited herein.

In another example, embodiments have been described herein in which theautomotive SV camera system includes four cameras with fish-eye lenses.One of ordinary skill in the art will understand embodiments in whichthe cameras have other lens types and/or more cameras are included inthe system.

In another example, embodiments have been described herein in which adisplay device installed in the vehicle is used to display thecalibration screen. One of ordinary skill in the art will be understandembodiments in which the display device is connected to the automotiveSV camera system by a wired or wireless interface.

In another example, data describing what portion of a bounding boxshould be displayed for a given pose angle of a camera may be storedalong with the bounding box size and position. This data may be used toupdate the bounding box overlay on the calibration screen as thetechnician adjusts the corresponding camera pose angle.

In another example, embodiments have been described herein in referenceto automotive SV camera systems. One of ordinary skill in the art willunderstand embodiments for vehicles other than automobiles thatincorporate an SV camera system, such as, for example, robots, aerialvehicles such as drones, farm equipment such as harvesters, combines,and tractors, warehouse vehicles such as forklifts, water vehicles suchas boats and barges, and helmets.

Software instructions implementing all or portions of the methodsdescribed herein may be initially stored in a computer-readable mediumand loaded and executed by one or more processors. In some cases, thesoftware instructions may be distributed via removable computer readablemedia, via a transmission path from computer readable media on anotherdigital system, etc. Examples of computer-readable media includenon-writable storage media such as read-only memory devices, writablestorage media such as disks, flash memory, memory, or a combinationthereof.

Although method steps may be presented and described herein in asequential fashion, one or more of the steps shown in the figures anddescribed herein may be performed concurrently, may be combined, and/ormay be performed in a different order than the order shown in thefigures and/or described herein. Accordingly, embodiments should not beconsidered limited to the specific ordering of steps shown in thefigures and/or described herein.

Certain terms are used throughout the description and the claims torefer to particular system components. As one skilled in the art willappreciate, components in systems may be referred to by different namesand/or may be combined in ways not shown herein without departing fromthe described functionality. This document does not intend todistinguish between components that differ in name but not function. Inthe description and in the claims, the terms “including” and“comprising” are used in an open-ended fashion, and thus should beinterpreted to mean “including, but not limited to . . . .” Also, theterm “couple” and derivatives thereof are intended to mean an indirect,direct, optical, and/or wireless electrical connection. Thus, if onedevice couples to another device, that connection may be through adirect electrical connection, through an indirect electrical connectionvia other devices and connections, through an optical electricalconnection, and/or through a wireless electrical connection, forexample.

It is therefore contemplated that the appended claims will cover anysuch modifications of the embodiments as fall within the true scope ofthe invention.

What is claimed is:
 1. A method comprising: capturing a plurality ofvideo streams, wherein each of the plurality of video streams includesan image, wherein the image of each of the plurality of video streamsincludes a plurality of calibration charts, and wherein each of theplurality of video streams is from a respective one of a plurality ofcameras; associating each of the plurality of calibration charts in theimage of each of the plurality of video streams with a respectivebounding box; in the image of each of the plurality of video streams,aligning each of the plurality of calibration charts within therespective bounding box; in the image of each of the plurality of videostreams, detecting feature points within the respective bounding box foreach of the plurality of calibration charts; generating a set ofmatrices based on the detected feature points and locations of thedetected feature points; displaying the image of each of the pluralityof video streams on a display, wherein the image of each of theplurality of video streams includes the detected feature points and aportion of the respective bounding box for each of the plurality ofcalibration charts; determining calibration parameters for each of theplurality of cameras based on the set of matrices and intrinsicparameters for each of the plurality of cameras; and calibrating theplurality of cameras based on the calibration parameters.
 2. The methodof claim 1, further comprising: storing the calibration parameters foreach of the plurality of cameras.
 3. The method of claim 1, wherein:each of the plurality of calibration charts in the image of each of theplurality of video streams is aligned in a horizontal center of therespective bounding box.
 4. The method of claim 1, wherein: an edge ofeach of the plurality of calibration charts in the image of each of theplurality of video streams is aligned parallel to an edge of therespective bounding box.
 5. The method of claim 1, further comprising:determining a level of accuracy for detecting the feature points; andsizing the respective bounding box based on the level of accuracy. 6.The method of claim 1, further comprising: placing each of the pluralityof calibration charts in a field of view of two of the plurality ofcameras arranged adjacently to each other.
 7. The method of claim 1,wherein: each of the plurality of calibration charts is simultaneouslycaptured by two of the plurality of cameras arranged adjacently to eachother.
 8. The method of claim 1, wherein: the feature points are basedon one or more of the plurality of calibration charts within therespective bounding box in the image of each of the plurality of videostreams.
 9. The method of claim 1, wherein: the calibration parametersare based on a rendering capability of a surround view camera device.10. The method of claim 1, further comprises: determining an accuracy ofthe detected feature points, wherein the accuracy is based on adeviation between an actual location and a detected location of thedetected feature points.
 11. The method of claim 10, wherein: thedeviation is measured in pixels.
 12. The method of claim 1, wherein: theportion of the respective bounding box displayed in the image of each ofthe plurality of video streams is based on a pose angle of therespective one of the plurality of cameras.
 13. A surround view (SV)camera system comprising: a plurality of cameras; a display device; amemory storing software instructions for generating calibrationparameters for the SV camera system, the software instructionsconfigured to: capture a plurality of video streams, wherein each of theplurality of video streams includes a respective one of a plurality ofimages, wherein each of the respective one of the plurality of imagesincludes a plurality of calibration charts, and wherein each of theplurality of video streams is from a respective one of the plurality ofcameras; associate each of the plurality of calibration charts in eachof the respective one of the plurality of images with a respectivebounding box; align, in each of the respective one of the plurality ofimages, each of the plurality of calibration charts within therespective bounding box; detect, in each of the respective one of theplurality of images, feature points within the respective bounding boxfor each of the plurality of calibration charts; generate a set ofmatrices based on the detected feature points and locations of thedetected feature points in each of the respective one of the pluralityof images; display the plurality of images on the display device,wherein each of the respective one of the plurality of images includesthe detected feature points and a portion of the respective bounding boxassociated with each of the respective one of the plurality of images;and determine the calibration parameters for each of the plurality ofcameras based on the set of matrices and intrinsic parameters for eachof the plurality of cameras; and a processor coupled to the memory toexecute the software instructions.
 14. The SV camera system of claim 13,wherein: the display device is comprised in a vehicle comprising the SVcamera system.
 15. The SV camera system of claim 13, wherein: the memorycomprises nonvolatile memory storing platform dependent parameters. 16.The SV camera system of claim 13, wherein: each of the plurality ofcalibration charts in each of the plurality of images is aligned in ahorizontal center of the respective bounding box.
 17. The SV camerasystem of claim 13, wherein: the software instructions to detect thefeature points are performed responsive to user input indicating thecalibration parameters are to be computed.
 18. The SV camera system ofclaim 13, wherein: an edge of each of the plurality of calibrationcharts in each of the plurality of images is aligned parallel to an edgeof the respective bounding box.
 19. The SV camera system of claim 13,the software instructions are further configured to: determine a levelof accuracy for detecting the feature points; and size the respectivebounding box based on the level of accuracy.
 20. The SV camera system ofclaim 13, wherein: each of the plurality of calibration charts issimultaneously captured by two of the plurality of cameras arrangedadjacently to each other.